[INFO] cloning repository https://github.com/steephengeorge/rustlings
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/steephengeorge/rustlings" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsteephengeorge%2Frustlings", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsteephengeorge%2Frustlings'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2118acd43f54ebf9edbce7eb837b6aa37e58d04f
[INFO] checking steephengeorge/rustlings against try#a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399 for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsteephengeorge%2Frustlings" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/steephengeorge/rustlings
[INFO] finished tweaking git repo https://github.com/steephengeorge/rustlings
[INFO] tweaked toml for git repo https://github.com/steephengeorge/rustlings written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/steephengeorge/rustlings on toolchain a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/steephengeorge/rustlings already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bb8c55781555db254ffb059040e8da076feb891202c60ab9ac7a049210321056
[INFO] running `Command { std: "docker" "start" "-a" "bb8c55781555db254ffb059040e8da076feb891202c60ab9ac7a049210321056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bb8c55781555db254ffb059040e8da076feb891202c60ab9ac7a049210321056", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb8c55781555db254ffb059040e8da076feb891202c60ab9ac7a049210321056", kill_on_drop: false }`
[INFO] [stdout] bb8c55781555db254ffb059040e8da076feb891202c60ab9ac7a049210321056
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b85f449af8f0f8eb244ea4547ecc58b0edbb905185cd3d9c0577806cd15593a3
[INFO] running `Command { std: "docker" "start" "-a" "b85f449af8f0f8eb244ea4547ecc58b0edbb905185cd3d9c0577806cd15593a3", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling serde_json v1.0.113
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]     Checking ryu v1.0.16
[INFO] [stderr]    Compiling escargot v0.5.8
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking hello_macro v0.1.0 (/opt/rustwide/workdir/Macros/Procedural Macros/hello_macro)
[INFO] [stderr]     Checking combine_traits v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Traits/Combine Traits)
[INFO] [stderr]     Checking advanced_errors v0.1.0 (/opt/rustwide/workdir/Error Handling/Errors Primer/Advanced Errors)
[INFO] [stderr]     Checking compare_licenses v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Traits/Compare Licenses)
[INFO] [stderr]     Checking generics_in_structs v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Generic Data Types/Generics in Structs)
[INFO] [stderr]     Checking lamp_with_switchers v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Smart Pointers/Switch the Lamp)
[INFO] [stderr]     Checking license_it v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Traits/License It)
[INFO] [stderr]     Checking asref_and_asmut v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Type Conversions/AsRef and AsMut)
[INFO] [stderr]     Checking box_task v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Smart Pointers/Box Task)
[INFO] [stderr]     Checking build_team_scores_table v0.1.0 (/opt/rustwide/workdir/Common Collections/Hashmaps/Build Scores Table)
[INFO] [stderr]     Checking advanced_errors_2 v0.1.0 (/opt/rustwide/workdir/Error Handling/Errors Primer/Advanced Errors 2)
[INFO] [stderr]     Checking try_from_into v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Type Conversions/Try From Into)
[INFO] [stderr]     Checking declaring_a_hashmap v0.1.0 (/opt/rustwide/workdir/Common Collections/Hashmaps/Fruits Delivery)
[INFO] [stderr]     Checking capitalize_first v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Iterators/Capitalize first)
[INFO] [stderr]     Checking add_conditions v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Conditions/Add Conditions)
[INFO] [stderr]     Checking errors5 v0.1.0 (/opt/rustwide/workdir/Error Handling/Errors Primer/Multiple Errors)
[INFO] [stderr]     Checking loop_over_vector_with_iterators v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Iterators/Loop Over Vector With Iterators)
[INFO] [stderr]     Checking trim_a_string v0.1.0 (/opt/rustwide/workdir/Understanding Ownership/The Slice Type/Trim a String)
[INFO] [stdout] warning: unused import: `write`
[INFO] [stdout]  --> Error Handling/Errors Primer/Advanced Errors 2/src/lib.rs:2:42
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{self, Display, Formatter, write};
[INFO] [stdout]   |                                          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking loop_over_a_vector v0.1.0 (/opt/rustwide/workdir/Common Collections/Vectors/Loop Over a Vector)
[INFO] [stderr]     Checking process_some_strings v0.1.0 (/opt/rustwide/workdir/Common Collections/Strings/Process Some Strings)
[INFO] [stderr]     Checking fromstr v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Type Conversions/FromStr)
[INFO] [stdout] warning: unused import: `std::fmt::Pointer`
[INFO] [stdout]  --> Common Collections/Strings/Process Some Strings/src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Pointer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::type_name`
[INFO] [stdout]  --> Standard Library Types/Type Conversions/FromStr/src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::type_name;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking vec_trait v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Traits/Vec Trait)
[INFO] [stderr]     Checking count_typed_cells v0.1.0 (/opt/rustwide/workdir/Common Collections/Vectors/Count Typed Cells)
[INFO] [stderr]     Checking string_trait v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Traits/String Trait)
[INFO] [stderr]     Checking declaring_a_vector v0.1.0 (/opt/rustwide/workdir/Common Collections/Vectors/Create a Vector on Your Own)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> Error Handling/Errors Primer/Advanced Errors 2/src/lib.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |             _ => write!(f, "unhandled error!"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> Error Handling/Errors Primer/Advanced Errors 2/src/lib.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             Empty => write!(f, "empty input"),
[INFO] [stdout]    |             ----- matches some of the same values
[INFO] [stdout] 46 |             BadLen => write!(f, "incorrect number of fields"),
[INFO] [stdout]    |             ------ matches some of the same values
[INFO] [stdout] 47 |             NoCity => write!(f, "no city name"),
[INFO] [stdout]    |             ------ matches some of the same values
[INFO] [stdout] 48 |             ParseFloat(e) => write!(f, "error parsing temperature: {}", e),
[INFO] [stdout]    |             ------------- matches some of the same values
[INFO] [stdout] 49 |             ParseInt(e) => write!(f, "error parsing year: {}", e),
[INFO] [stdout] 50 |             _ => write!(f, "unhandled error!"),
[INFO] [stdout]    |             ^ ...and 1 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `year`
[INFO] [stdout]   --> Error Handling/Errors Primer/Advanced Errors 2/src/lib.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 |             [city, year, temp] if city.is_empty() => return Err(ParseClimateError::NoCity),
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_year`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp`
[INFO] [stdout]   --> Error Handling/Errors Primer/Advanced Errors 2/src/lib.rs:70:26
[INFO] [stdout]    |
[INFO] [stdout] 70 |             [city, year, temp] if city.is_empty() => return Err(ParseClimateError::NoCity),
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_temp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking string_transformer v0.1.0 (/opt/rustwide/workdir/Common Collections/Strings/String Transformer)
[INFO] [stderr]     Checking trait_bound_syntax v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Traits/Trait Bound Syntax)
[INFO] [stderr]     Checking count_progress v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Iterators/Count Progress)
[INFO] [stderr]     Checking using_as v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Type Conversions/Using As)
[INFO] [stderr]     Checking from_into v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Type Conversions/From Into)
[INFO] [stderr]     Checking modifying_a_hashmap v0.1.0 (/opt/rustwide/workdir/Common Collections/Hashmaps/More Fruits)
[INFO] [stderr]     Checking errors6 v0.1.0 (/opt/rustwide/workdir/Error Handling/Errors Primer/Custom Errors)
[INFO] [stderr]     Checking use_cow v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Smart Pointers/Use Cow)
[INFO] [stderr]     Checking home_alone v0.1.0 (/opt/rustwide/workdir/Modules/Modules/Home Alone at Day X)
[INFO] [stderr]     Checking workers_in_the_engine v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Smart Pointers/Workers in the Engine)
[INFO] [stderr]     Checking iterators4 v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Iterators/Factorial)
[INFO] [stderr]     Checking result1 v0.1.0 (/opt/rustwide/workdir/Error Handling/Errors Primer/Positive Nonzero Integer)
[INFO] [stderr]     Checking if_task v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Conditions/If Task)
[INFO] [stderr]     Checking submodules v0.1.0 (/opt/rustwide/workdir/Writing Automated Tests/Running and Organizing Tests/Submodules in Integration Tests)
[INFO] [stderr]     Checking iterator3 v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Iterators/Iterator)
[INFO] [stderr]     Checking optional_value v0.1.0 (/opt/rustwide/workdir/Common Collections/Options/Optional Value)
[INFO] [stderr]     Checking integration_tests v0.1.0 (/opt/rustwide/workdir/Writing Automated Tests/Running and Organizing Tests/Integration Tests)
[INFO] [stderr]     Checking matching_result v0.1.0 (/opt/rustwide/workdir/Error Handling/Error Handling/Matching Result)
[INFO] [stderr]     Checking times_two_tests v0.1.0 (/opt/rustwide/workdir/Writing Automated Tests/Running and Organizing Tests/Times Two Tests)
[INFO] [stderr]     Checking calculate_price v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Variables, Functions, and Conditions Test/Calculate Price)
[INFO] [stderr]     Checking use_option v0.1.0 (/opt/rustwide/workdir/Common Collections/Options/Use Option)
[INFO] [stderr]     Checking returning_result v0.1.0 (/opt/rustwide/workdir/Error Handling/Error Handling/Returning Result)
[INFO] [stderr]     Checking quote v1.0.35
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking constants v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Variables/Constants)
[INFO] [stderr]     Checking function_parameters v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Functions/Function Parameters)
[INFO] [stderr]     Checking intro_vectors v0.1.0 (/opt/rustwide/workdir/Common Collections/Vectors/Intro)
[INFO] [stderr]     Checking re_exporting_names_with_pub_use v0.1.0 (/opt/rustwide/workdir/Modules/Modules/Re-exporting Names with pub use)
[INFO] [stderr]     Checking string_slice v0.1.0 (/opt/rustwide/workdir/Common Collections/Strings/String Slice)
[INFO] [stderr]     Checking passing_an_argument v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Functions/Passing an Argument)
[INFO] [stderr]     Checking find_a_sum v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Repetitions/Find a sum)
[INFO] [stderr]     Checking receiving_values v0.1.0 (/opt/rustwide/workdir/Fearless Concurrency/Using Message Passing to Transfer Data Between Threads/Receiving Values)
[INFO] [stderr]     Checking return_values_and_scope v0.1.0 (/opt/rustwide/workdir/Understanding Ownership/What is ownership/Return Values and Scope)
[INFO] [stderr]     Checking summary_slices v0.1.0 (/opt/rustwide/workdir/Understanding Ownership/The Slice Type/Summary)
[INFO] [stderr]     Checking variables3 v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Variables/Mutable Variable Binding)
[INFO] [stderr]     Checking duplicated_code_fragments v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Intro/Duplicated Code Fragments)
[INFO] [stderr]     Checking recoverable_errors_with_result v0.1.0 (/opt/rustwide/workdir/Error Handling/Error Handling/Recoverable Errors with Result)
[INFO] [stderr]     Checking summary_errors v0.1.0 (/opt/rustwide/workdir/Error Handling/Error Handling/Summary)
[INFO] [stderr]     Checking the_rules_of_references v0.1.0 (/opt/rustwide/workdir/Understanding Ownership/References and Borrowing/The Rules of References)
[INFO] [stderr]     Checking associated_functions v0.1.0 (/opt/rustwide/workdir/Structs, Methods, Enums, and Pattern Matching/Structs with Methods/Associated Functions and Multiple impl Blocks)
[INFO] [stderr]     Checking default_implementations v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Traits/Default Implementations)
[INFO] [stderr]     Checking adding_custom_failure_messages v0.1.0 (/opt/rustwide/workdir/Writing Automated Tests/How to Write Tests/Adding Custom Failure Messages)
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]  --> Error Handling/Error Handling/Recoverable Errors with Result/src/main.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let f = match f {
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hash_maps_and_ownership v0.1.0 (/opt/rustwide/workdir/Common Collections/Hashmaps/Hash Maps and Ownership)
[INFO] [stderr]     Checking returning_types_that_implement_traits v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Traits/Returning Types that Implement Traits)
[INFO] [stderr]     Checking variables2 v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Variables/Variable Type)
[INFO] [stderr]     Checking variables_new_ide v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Variables/Introduce Variable Refactoring)
[INFO] [stderr]     Checking ManagingConditions v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Conditions/Managing Conditions)
[INFO] [stderr]     Checking capturing_references_or_moving_ownership v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Closures/Capturing References or Moving Ownership)
[INFO] [stderr]     Checking build_string_from_literals v0.1.0 (/opt/rustwide/workdir/Understanding Ownership/What is ownership/Build String from Literals)
[INFO] [stderr]     Checking lifetime_annotation_syntax v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotation Syntax)
[INFO] [stderr]     Checking match_operator v0.1.0 (/opt/rustwide/workdir/Structs, Methods, Enums, and Pattern Matching/Pattern Matching/The Match Operator)
[INFO] [stderr]     Checking method_syntax v0.1.0 (/opt/rustwide/workdir/Structs, Methods, Enums, and Pattern Matching/Structs with Methods/Defining Methods)
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stdout] warning: function `returns_summarizable` is never used
[INFO] [stdout]   --> Generic Types, Traits, and Lifetime/Traits/Returning Types that Implement Traits/src/main.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn returns_summarizable() -> impl Summary {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `Year` should have an upper case name
[INFO] [stdout]  --> Common Programming Concepts/Variables/Introduce Variable Refactoring/src/main.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     const Year: i32 = 1993;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 2 -     const Year: i32 = 1993;
[INFO] [stdout] 2 +     const YEAR: i32 = 1993;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Penny`, `Nickel`, and `Dime` are never constructed
[INFO] [stdout]  --> Structs, Methods, Enums, and Pattern Matching/Pattern Matching/The Match Operator/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | enum Coin {
[INFO] [stdout]   |      ---- variants in this enum
[INFO] [stdout] 2 |     Penny,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 3 |     Nickel,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 4 |     Dime,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking test_organization v0.1.0 (/opt/rustwide/workdir/Writing Automated Tests/Running and Organizing Tests/Test Organization)
[INFO] [stderr]     Checking shortcuts_for_panic_on_error___unwrap_and_expect v0.1.0 (/opt/rustwide/workdir/Error Handling/Error Handling/Shortcuts for Panic on Error - unwrap and expect)
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]  --> Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotation Syntax/src/main.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 |     let r1: &i32;        // a reference
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]  --> Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotation Syntax/src/main.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let r2: &'a i32;     // a reference with an explicit lifetime
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r3`
[INFO] [stdout]  --> Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotation Syntax/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let r3: &'a mut i32; // a mutable reference with an explicit lifetime
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_r3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lifetime_examples` is never used
[INFO] [stdout]  --> Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotation Syntax/src/main.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn lifetime_examples<'a>() {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking summary_strings v0.1.0 (/opt/rustwide/workdir/Common Collections/Strings/Summary)
[INFO] [stderr]     Checking looping_through_a_collection_with_for v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Repetitions/Looping Through an Array with for)
[INFO] [stderr]     Checking check_clippy_for_option v0.1.0 (/opt/rustwide/workdir/Common Collections/Options/Check Clippy for Option)
[INFO] [stderr]     Checking navigating_around v0.1.0 (/opt/rustwide/workdir/Introduction/Getting started/Navigating Around)
[INFO] [stderr]     Checking adding_useful_functionality_with_derived_traits v0.1.0 (/opt/rustwide/workdir/Structs, Methods, Enums, and Pattern Matching/Structs/Adding Useful Functionality with Derived Traits)
[INFO] [stderr]     Checking error_handling_intro v0.1.0 (/opt/rustwide/workdir/Error Handling/Error Handling/Intro)
[INFO] [stderr]     Checking reading_elements_of_vectors v0.1.0 (/opt/rustwide/workdir/Common Collections/Vectors/Reading Elements of Vectors)
[INFO] [stderr]     Checking matching_on_different_errors v0.1.0 (/opt/rustwide/workdir/Error Handling/Error Handling/Matching on Different Errors)
[INFO] [stderr]     Checking task_description v0.1.0 (/opt/rustwide/workdir/Introduction/Getting started/Task Description)
[INFO] [stderr]     Checking modules_intro v0.1.0 (/opt/rustwide/workdir/Modules/Modules/Intro)
[INFO] [stdout] warning: unused variable: `does_not_exist1`
[INFO] [stdout]   --> Common Collections/Vectors/Reading Elements of Vectors/src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let does_not_exist1 = &v[100]; // PANIC!!!
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_does_not_exist1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `does_not_exist2`
[INFO] [stdout]   --> Common Collections/Vectors/Reading Elements of Vectors/src/main.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let does_not_exist2 = v.get(100); // No panic
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_does_not_exist2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking else_if v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Conditions/else if)
[INFO] [stderr]     Checking channels_and_ownership_transference v0.1.0 (/opt/rustwide/workdir/Fearless Concurrency/Using Message Passing to Transfer Data Between Threads/Channels and Ownership Transference)
[INFO] [stderr]     Checking editor v0.1.0 (/opt/rustwide/workdir/Introduction/Getting started/Editor)
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]  --> Error Handling/Error Handling/Matching on Different Errors/src/main.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let f = File::open("hello.txt").unwrap_or_else(|error| {
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking lifetime_annotations_in_method_definitions v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotations in Method Definitions)
[INFO] [stdout] warning: fields `width` and `height` are never read
[INFO] [stdout]  --> Structs, Methods, Enums, and Pattern Matching/Structs/Adding Useful Functionality with Derived Traits/src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Rectangle {
[INFO] [stdout]   |        --------- fields in this struct
[INFO] [stdout] 3 |     width: u32,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 4 |     height: u32,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Rectangle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking intro_sp v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Smart Pointers/Intro)
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]  --> Error Handling/Error Handling/Shortcuts for Panic on Error - unwrap and expect/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let f = File::open("hello.txt").unwrap();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]  --> Error Handling/Error Handling/Shortcuts for Panic on Error - unwrap and expect/src/main.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let f = File::open("hello.txt").expect("Failed to open hello.txt");
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking declarative_macros_with_macro_rules v0.1.0 (/opt/rustwide/workdir/Macros/Declarative Macros/Declarative Macros with macro_rules)
[INFO] [stderr]     Checking dropping_a_vector_drops_its_elements v0.1.0 (/opt/rustwide/workdir/Common Collections/Vectors/Dropping a Vector Drops Its Elements)
[INFO] [stderr]     Checking separating_modules_into_different_files v0.1.0 (/opt/rustwide/workdir/Modules/Modules/Separating Modules into Different Files)
[INFO] [stderr]     Checking variables_and_mutability v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Variables/Variables and Mutability)
[INFO] [stderr]     Checking external_linter v0.1.0 (/opt/rustwide/workdir/Introduction/Getting started/External Linter)
[INFO] [stderr]     Checking propagating_errors v0.1.0 (/opt/rustwide/workdir/Error Handling/Error Handling/Propagating Errors)
[INFO] [stderr]     Checking using_a_panic_backtrace_ v0.1.0 (/opt/rustwide/workdir/Error Handling/Error Handling/Using a panic Backtrace)
[INFO] [stderr]     Checking lifetime_annotations_in_function_signatures v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotations in Function Signatures)
[INFO] [stderr]     Checking mutable_references v0.1.0 (/opt/rustwide/workdir/Understanding Ownership/References and Borrowing/Mutable References)
[INFO] [stderr]     Checking intro_using_threads v0.1.0 (/opt/rustwide/workdir/Fearless Concurrency/Using Threads to Run Code Simultaneously/Intro)
[INFO] [stderr]     Checking macros2 v0.1.0 (/opt/rustwide/workdir/Macros/Declarative Macros/Declaring a Macro)
[INFO] [stderr]     Checking filter_a_sequence_with_a_closure v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Closures/Filter a sequence with a closure)
[INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed
[INFO] [stdout]  --> Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotations in Method Definitions/src/main.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct ImportantExcerpt<'a> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `level` is never used
[INFO] [stdout]  --> Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotations in Method Definitions/src/main.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]   | ----------------------------- method in this implementation
[INFO] [stdout] 6 |     // The first lifetime elision rule is applied
[INFO] [stdout] 7 |     fn level(&self) -> i32 {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `announce_and_return_part` is never used
[INFO] [stdout]   --> Generic Types, Traits, and Lifetime/Lifetimes/Lifetime Annotations in Method Definitions/src/main.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] 13 |     // The third lifetime elision rule is applied
[INFO] [stdout] 14 |     fn announce_and_return_part(&self, announcement: &str) -> &str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file` is never used
[INFO] [stdout]  --> Error Handling/Error Handling/Propagating Errors/src/main.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn read_username_from_file() -> Result<String, io::Error> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking sharing_a_mutex_between_multiple_threads v0.1.0 (/opt/rustwide/workdir/Fearless Concurrency/Shared-State Concurrency/Sharing a Mutex Between Multiple Threads)
[INFO] [stdout] error[E0384]: cannot assign twice to immutable variable `x`
[INFO] [stdout]  --> Common Programming Concepts/Variables/Variables and Mutability/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     let x = 5;
[INFO] [stdout]   |         - first assignment to `x`
[INFO] [stdout] 3 |     println!("The value of x is: {}", x);
[INFO] [stdout] 4 |     x = 6;
[INFO] [stdout]   |     ^^^^^ cannot assign twice to immutable variable
[INFO] [stdout]   |
[INFO] [stdout] help: consider making this binding mutable
[INFO] [stdout]   |
[INFO] [stdout] 2 |     let mut x = 5;
[INFO] [stdout]   |         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0384`.
[INFO] [stdout] 
[INFO] [stderr]     Checking closure-example v0.1.0 (/opt/rustwide/workdir/Standard Library Types/Closures/Closure Type Inference and Annotation)
[INFO] [stderr]     Checking intro_methods v0.1.0 (/opt/rustwide/workdir/Structs, Methods, Enums, and Pattern Matching/Structs with Methods/Intro)
[INFO] [stderr]     Checking arrays v0.1.0 (/opt/rustwide/workdir/Common Programming Concepts/Tuples and Arrays/Create an Array)
[INFO] [stderr]     Checking define_an_enum v0.1.0 (/opt/rustwide/workdir/Structs, Methods, Enums, and Pattern Matching/Enums/Deliver Messages)
[INFO] [stderr]     Checking restaurant v0.1.0 (/opt/rustwide/workdir/Modules/Modules/Defining Modules)
[INFO] [stderr]     Checking specify_lifetimes v0.1.0 (/opt/rustwide/workdir/Generic Types, Traits, and Lifetime/Lifetimes/Specify Lifetimes)
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> Common Collections/Vectors/Dropping a Vector Drops Its Elements/src/main.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 |         let v = vec![1, 2, 3, 4];
[INFO] [stdout]   |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expensive_closure`
[INFO] [stdout]  --> Standard Library Types/Closures/Closure Type Inference and Annotation/src/main.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let expensive_closure = |num: u32| -> u32 {
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expensive_closure`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> Standard Library Types/Closures/Closure Type Inference and Annotation/src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let result = add_one_v4(add_one_v3(add_one_v2(add_one_v1(0_u32))));
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> Standard Library Types/Closures/Closure Type Inference and Annotation/src/main.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let s = example_closure(String::from("hello"));
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `variables_and_mutability` (bin "variables_and_mutability") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `add_to_waitlist` is never used
[INFO] [stdout]  --> Modules/Modules/Defining Modules/src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 |         fn add_to_waitlist() {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `seat_at_table` is never used
[INFO] [stdout]  --> Modules/Modules/Defining Modules/src/lib.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |         fn seat_at_table() {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_order` is never used
[INFO] [stdout]  --> Modules/Modules/Defining Modules/src/lib.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |         fn take_order() {}
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serve_order` is never used
[INFO] [stdout]   --> Modules/Modules/Defining Modules/src/lib.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |         fn serve_order() {}
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_payment` is never used
[INFO] [stdout]   --> Modules/Modules/Defining Modules/src/lib.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |         fn take_payment() {}
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: borrow of moved value: `counter`
[INFO] [stdout]   --> Fearless Concurrency/Shared-State Concurrency/Sharing a Mutex Between Multiple Threads/src/main.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 5  |     let counter = Mutex::new(0);
[INFO] [stdout]    |         ------- move occurs because `counter` has type `Mutex<i32>`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 8  |     for _ in 0..10 {
[INFO] [stdout]    |     -------------- inside of this loop
[INFO] [stdout] 9  |         // !!! ERROR: we shouldn't move mutex to the closure
[INFO] [stdout] 10 |         let handle = thread::spawn(move || {
[INFO] [stdout]    |                                    ------- value moved into closure here, in previous iteration of loop
[INFO] [stdout] ...
[INFO] [stdout] 22 |     println!("Result: {}", *counter.lock().unwrap());
[INFO] [stdout]    |                             ^^^^^^^ value borrowed here after move
[INFO] [stdout]    |
[INFO] [stdout] help: consider moving the expression out of the loop so it is only moved once
[INFO] [stdout]    |
[INFO] [stdout] 8  ~     let mut value = counter.lock();
[INFO] [stdout] 9  ~     for _ in 0..10 {
[INFO] [stdout] 10 |         // !!! ERROR: we shouldn't move mutex to the closure
[INFO] [stdout] 11 |         let handle = thread::spawn(move || {
[INFO] [stdout] 12 ~             let mut num = value.unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0382`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sharing_a_mutex_between_multiple_threads` (bin "sharing_a_mutex_between_multiple_threads" test) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "b85f449af8f0f8eb244ea4547ecc58b0edbb905185cd3d9c0577806cd15593a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b85f449af8f0f8eb244ea4547ecc58b0edbb905185cd3d9c0577806cd15593a3", kill_on_drop: false }`
[INFO] [stdout] b85f449af8f0f8eb244ea4547ecc58b0edbb905185cd3d9c0577806cd15593a3
